/*
 * Copyright 2010 Michael Nitsche
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package de.mnit.basis.swt.element.feld.werkzeug;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;

import de.mnit.basis.fehler.Fehler;
import de.mnit.basis.swt.element.S_SWT_Komponente;
import de.mnit.basis.sys.Ausgabe;

/**
 * @author Michael Nitsche
 */
public class SWT_WerkzeugElement extends A_SWT_WerkzeugFeldBasis<SWT_WerkzeugElement> {

	private S_SWT_Komponente<?, ? extends Control> gruppe;


	public SWT_WerkzeugElement(S_SWT_Komponente<?, ? extends Composite> gruppe) {
		this.gruppe=gruppe;
	}


	/** @overwrite **/
	public void freigeben() {
		gruppe.swt().dispose();
		swt().dispose();
	}

	public SWT_WerkzeugElement sBreite(int breite) {
//		Fehler.sonstige.da_Untypisch("Offensichtlich ein SWT-Fehler, dadurch wird die Breite automatisch 1 oder 2"); //Manchmal gehts ?!?!?
		Ausgabe.debug("Offensichtlich ein SWT-Fehler, dadurch wird die Breite automatisch 1 oder 2");
		Fehler.zahl.wenn_Ausserhalb(1,1500,breite,1);
		swt().setWidth(breite);
		return this;
	}

	// ERZEUGEN

	protected int style4() {
		return SWT.SEPARATOR;
	}

	protected void init4() {
		this.gruppe.erzeugeSWT(this.swt().getParent());
		swt().setControl(this.gruppe.swt());
//		Fehler.sonstige.da_Untypisch("Offensichtlich ein SWT-Fehler, dadurch wird die Breite automatisch 1"); //Manchmal gehts?!?!?
		Ausgabe.debug("Offensichtlich ein SWT-Fehler, dadurch wird die Breite automatisch 1 oder 2");

//		swt().getParent().layout();
//		Ausgabe.debug(swt().getWidth(), swt().getBounds() );
//		Ausgabe.debug(gruppe.swt().getBounds() );
//		swt().setWidth(this.gruppe.swt().getBounds().width);
//		swt().setWidth(this.gruppe.swt().getSize().x);

		swt().setWidth(100);
	}

}

